package br.unipar.blog.controller.cadastrousuario;

import br.unipar.blog.entity.Usuario;
import br.unipar.blog.manager.usuario.CadastroUsuarioManager;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;

public class CadastroUsuarioFactory {
    
    @Autowired
    private CadastroUsuarioManager cadastroUsuarioManager;

    public CadastroUsuarioVo buscarPeloEmail(String email) {

        Usuario usuario = cadastroUsuarioManager.buscarPeloEmail(email);
        if (usuario != null) {
            return new CadastroUsuarioVo(usuario);
        }
        
        return new CadastroUsuarioVo();
    }
    
    public List<CadastroUsuarioVo> buscarParcialPeloEmailOuNome(String emailNome) {
        List<CadastroUsuarioVo> voList = new ArrayList<CadastroUsuarioVo>();

        List<Usuario> usuarioList = cadastroUsuarioManager.buscarParcialPeloEmailOuNome(emailNome);
        for (Usuario usuario : usuarioList) {
            CadastroUsuarioVo vo = new CadastroUsuarioVo(usuario);
            voList.add(vo);
        }
        
        return voList;
    }
    
    public List<CadastroUsuarioVo> buscarTodos() {
        List<CadastroUsuarioVo> voList = new ArrayList<CadastroUsuarioVo>();

        List<Usuario> usuarioList = cadastroUsuarioManager.buscarTodos();
        for (Usuario usuario : usuarioList) {
            CadastroUsuarioVo vo = new CadastroUsuarioVo(usuario);
            voList.add(vo);
        }
        
        return voList;
    }
    
}
